package com.haixiaoke.saas.messageCenter.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.haixiaoke.saas.common.annotation.Excel;
import com.haixiaoke.saas.common.core.domain.BaseEntity;
import com.haixiaoke.saas.messageCenter.domain.OrdinaryMessageUser;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 普通消息推送对象 biz_ordinary_message
 *
 * @author panda
 * @date 2024-11-08
 */
@Data
public class OrdinaryMessage extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 普通消息id
     */
    private Long ordinaryMessageId;

    /**
     * 模板名称
     */
    @Excel(name = "模板名称")
    private String templateName;

    /**
     * 模板编码
     */
    @Excel(name = "模板编码")
    private String templateCode;

    /**
     * 普通消息类型：1.应用外，2.应用内
     */
    @Excel(name = "普通消息类型：1.应用外，2.应用内")
    private String ordinaryMessageType;

    /**
     * 推送渠道：1.企业微信，2.钉钉，3.商家小程序，4.租客小程序
     */
    @Excel(name = "推送渠道：1.企业微信，2.钉钉，3.商家小程序，4.租客小程序")
    private String pushChannel;

    /**
     * 推送渠道名称
     */
    @Excel(name = "推送渠道名称")
    private String pushChannelName;

    /**
     * 消息标题
     */
    @Excel(name = "消息标题")
    private String messageHeader;

    /**
     * 消息内容
     */
    @Excel(name = "消息内容")
    private String messageContent;

    /**
     * 触发行为：1.立即推送，2.定时推送，3.重复推送，4.指定条件推送
     */
    private String triggeringBehavior;

    /**
     * 触发时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date triggeringTime;

    /**
     * 推送条件编码
     */
    private String pushConditionCode;

    /**
     * 状态：0.启用，1.禁用
     */
    @Excel(name = "状态：0.启用，1.禁用")
    private String ordinaryMessageState;

    /**
     * 机构名称
     */
    @Excel(name = "机构名称")
    private String tenantName;

    /**
     * 普通消息推送与用户关联数据对象
     */
    private List<OrdinaryMessageUser> ordinaryMessageUserList;
}
